package com.tyk.bookstore.front.system.service;


import com.tyk.bookstore.front.common.core.model.dto.NameDto;
import com.tyk.bookstore.front.system.model.dto.AreaFullLevelDto;

import java.util.List;
import java.util.Set;

/**
 * @author tyk
 * @description 区域对内暴露接口
 */
public interface AreaApiService {
    /**
     * 断言是最低级区域
     * @param code 区域码
     */
    void assertLowestArea(Long code);

    /**
     * 查询区域全称
     */
    String getAreaFullNameByCode(Long code);

    /**
     * 获取各Code的全称
     */
    List<NameDto> getAreaFullNameByCodeSetWithCache(Set<Long> codeSet);


    /**
     * 获取code所属各级别Code和Name
     */
    List<AreaFullLevelDto> getAreaFullLevelDtoList(Set<Long> codeSet);
}
